 
import sys
 
class LL1Parser:
    """
    一个基于递归下降的LL(1)语法分析器。
    文法:
    E  → T E'
    E' → + T E' | ε
    T  → F T'
    T' → * F T' | ε
    F  → ( E ) | i
    """
    def __init__(self):
        self.input_string = ""
        self.pos = 0
 
    def parse(self, input_str):
        """
        公开的分析接口，启动整个分析过程。
        """
        self.input_string = input_str.strip() # 去除首尾空白
        if not self.input_string:
            return "syntax error" # 空输入是错误的
        self.pos = 0
         
        try:
            # 起始符号是 E
            self.parse_E()
            # 分析结束后，应该正好到达字符串末尾的 '#'
            if self.input_string[self.pos] == '#':
                return "syntax correct"
            else:
                # 如果 '#' 后面还有字符，也是错误的
                return "syntax error"
        except (SyntaxError, IndexError):
            return "syntax error"
 
    def match(self, expected_token):
        """
        匹配当前字符，如果成功则消耗它（指针后移）。
        """
        if self.pos < len(self.input_string) and self.input_string[self.pos] == expected_token:
            self.pos += 1
        else:
            raise SyntaxError(f"Expected '{expected_token}' but got '{self.input_string[self.pos]}'")
 
    # --- 每个非终结符对应一个解析函数 ---
 
    def parse_E(self):
        # E → T E'
        self.parse_T()
        self.parse_E_prime()
 
    def parse_E_prime(self):
        # E' → + T E' | ε
        if self.pos < len(self.input_string) and self.input_string[self.pos] == '+':
            self.match('+')
            self.parse_T()
            self.parse_E_prime()
        # else: 匹配 ε (空串)，什么也不做
 
    def parse_T(self):
        # T → F T'
        self.parse_F()
        self.parse_T_prime()
 
    def parse_T_prime(self):
        # T' → * F T' | ε
        if self.pos < len(self.input_string) and self.input_string[self.pos] == '*':
            self.match('*')
            self.parse_F()
            self.parse_T_prime()
        # else: 匹配 ε (空串)，什么也不做
 
    def parse_F(self):
        # F → ( E ) | i
        if self.pos < len(self.input_string):
            current_char = self.input_string[self.pos]
            if current_char == 'i':
                self.match('i')
            elif current_char == '(':
                self.match('(')
                self.parse_E()
                self.match(')')
            else:
                # 既不是 'i' 也不是 '('，语法错误
                raise SyntaxError(f"Unexpected token '{current_char}'")
        else:
            # 字符串提前结束了
            raise SyntaxError("Unexpected end of input")
 
 
# --- 主程序逻辑 ---
if __name__ == "__main__":
    parser = LL1Parser()
    # sys.stdin 可以逐行读取，直到EOF
    for line in sys.stdin:
        result = parser.parse(line)
        print(result)